
https://leetcode.cn/problems/longest-palindrome/description/
//class Solution {
//public:
//    int longestPalindrome(string s)
//    {
//        int n = s.size();
//        unordered_map<char, int> hash;
//        for (int i = 0; i < n; i++)
//        {
//            hash[s[i]]++;
//        }
//
//        int ret = 0;
//        for (auto& x : hash)
//        {
//            ret += x.second / 2 * 2;
//        }
//        if (ret < n) ret++;
//        return ret;
//    }
//};


https://leetcode.cn/problems/advantage-shuffle/description/
//class Solution {
//public:
//    vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2)
//    {
//        int n = nums1.size();
//        vector<int> index2(n);
//        for (int i = 0; i < n; i++)
//        {
//            index2[i] = i;
//        }
//        sort(nums1.begin(), nums1.end());
//        sort(index2.begin(), index2.end(), [&](int x, int y) {
//            return nums2[x] < nums2[y];
//            });
//
//        vector<int> v(n);
//        int left = 0, right = n - 1;
//        for (auto& x : nums1)
//        {
//            if (x > nums2[index2[left]])
//            {
//                v[index2[left]] = x;
//                left++;
//            }
//            else
//            {
//                v[index2[right]] = x;
//                right--;
//            }
//        }
//        return v;
//    }
//};